package algorithms.leaning.class13;

import common.util.MyUtil;

import java.util.Arrays;

/**
 * 给定一个由字符串组成的数组strs，
 * 必须把所有的字符串拼接起来，
 * 返回所有可能的拼接结果中，字典序最小的结果
 *
 * @author guichang
 * @date 2021/6/13
 */

@SuppressWarnings("all")
public class Code4_贪心_数组字典序最小 {

    public static void main(String[] args) {
        String[] array = {"b", "ba", "c"};
        MyUtil.print(minStringArray(array));
    }

    public static String minStringArray(String[] array) {
        if (array == null || array.length < 1) {
            return "";
        }
        Arrays.sort(array, (a, b) -> {
            return (a + b).compareTo(b + a);
        });
        StringBuilder sb = new StringBuilder("");
        for (String str : array) {
            sb.append(str);
        }
        return sb.toString();
    }


}